Tasks take a variety of forms. In some cases, a task is a workload that has to be processed on a computing platform. In some other cases, the task is a job opportunity that has to be filled using a suitable candidate.
In one case, the resource that is needed to complete the workload-type task is a computing resource. In another case, the resource that is needed to complete the recruitment-type task is a recruiter.
Regardless of the type, a task has to be planned in such a way that the task has a desired level of likelihood of completion. Regardless of the type, each resource has a cost associated with it, which adds to the cost of completing the task.
A complexity of a task is an indication of a level of difficulty in completing the task or a phase in the task. In many cases, a complexity of a task is known at the planning stage and adequate resources can be assigned to the task to ensure that the task reaches completion. For example, in a workload-type task, a history of executing similar workloads can be used to establish a complexity of the task at hand, and resources similar to those used in the historical execution of similar workloads can be assigned to the task at hand. As another example, recruiting a CEO for a company has a known level of difficulty from other companies' experience in recruiting CEOs, and therefore, a suitable recruiter can be engaged from the beginning of the search to afford the recruitment effort a desirable likelihood of success.
In many cases, the complexity of a task is unknown or undeterminable at the planning stage. A determination about the suitable types of resources to assign to the task, when to assign those resources to the task, and whether those resources will be available at that time are difficult to make. For example, in a workload-type task, a workload that has highly variant characteristics from execution to execution, or a workload that has not been processed before, or a workload whose outcome and requirements are unknown, form some example of workloads with such complexity. As an example, a workload that simulates the evolution of galaxies in a specific area of the universe can run for an amount of time that is not known a prior, can consume resources that are not identifiable a priori, or both. It is difficult to know at the planning stage of such a workload whether supercomputing resources should be assigned to the workload, when they should be assigned, and in what priority relative to other tasks demanding the supercomputing resources.
Similarly, a job specification that calls for a specific mix of skills and experience in a job candidate can be of an unknown complexity. It is difficult to determine whether assigning a recruiter to the recruitment effort is justified or needed for that specific mix, at what point in time would such assignment improve the likelihood of successful recruitment or be too late for the project that needs the skills, and what priority should the recruiter give to this job specification versus other job specifications that also demand the recruiter's attention.